package br.com.spb.persistence;

import  br.com.spb.domain.Estado;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import br.com.spb.support.Dao;

 
@SuppressWarnings("unchecked")
public class EstadoDao extends Dao<Estado>{
    
    /* (non-Javadoc)
     * @see persistence.EstadoDao#findByParametros(java.lang.String)
     */
    public List<Estado> findByDescricao(String sigUf, Long codRegiao) {
        Criteria criteria = createCriteria();

        if (sigUf != null) {
            criteria.add(Restrictions.like("sigUf", sigUf, MatchMode.ANYWHERE).ignoreCase());
        }
        
        if (codRegiao != null) {
        	criteria.add(Restrictions.eq("codRegiao", codRegiao).ignoreCase());
        }
        criteria.addOrder(Order.asc("sigUf"));

		List<Estado> lista = (List<Estado>) criteria.list();

        return lista;
    }
}
